import subprocess
from icecream import ic

statement = 'ffmpeg -i input.mp4 -filter:v "minterpolate=fps=60" -c:a copy 168084893179433.mp4'
p = subprocess.Popen(statement, shell=True, stdout=subprocess.PIPE)  # 执行shell语句并定义输出格式
# 将信息写入数据库
print('写数据库')
# 等待进程结束
p.wait()
# 结束后重写数据库
print('将结果写入数据库')
# while p.poll() is None:  # 判断进程是否结束（Popen.poll()用于检查子进程（命令）是否已经执行结束，没结束返回None，结束后返回状态码）
#     if p.wait() != 0:  # 判断是否执行成功（Popen.wait()等待子进程结束，并返回状态码；如果设置并且在timeout指定的秒数之后进程还没有结束，将会抛出一个TimeoutExpired异常。）
#         ic("命令执行失败，请检查设备连接状态")
#         break
#         # return
#     else:
#         re = p.stdout.readlines()  # 获取原始执行结果
#         result = []
#         for i in range(len(re)):  # 由于原始结果需要转换编码，所以循环转为utf8编码并且去除\n换行
#             res = re[i].decode('utf-8').strip('\r\n')
#             result.append(res)
#         ic(result)